package com.erci.service;

import com.erci.entity.DTO.*;
import com.erci.entity.User;
import com.erci.entity.VO.UserPhoneVO;
import com.erci.entity.VO.UserRegisterVO;
import com.erci.entity.VO.UserUserVO;
import com.erci.result.PageResult;
import com.erci.result.Result;

public interface UserService {


    PageResult queryList(Integer page, Integer pageSize, String keyword);

    void add(User user);


    void delete(UserDeleteDTO userDeleteDTO);

    void update(UserUpdateDTO userUpdateDTO);

    UserUserVO loginByPassword(LoginDTO loginDTO);

    Result<String> sendSmsCode(String phone);

    Result<UserPhoneVO> smsLogin(String phone, String code);

    Result<UserRegisterVO> register(LoginDTO loginDTO);

    void userUpdate(UserUserUpdateDTO userUserVO);


    Result<String> bindPhone(LoginPhoneDTO loginPhoneDTO);

    Result<String> unbindPhone(LoginPhoneDTO loginPhoneDTO);
}
